package com.ruoyi.system.domain.excel;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excels;
import com.ruoyi.system.domain.dto.UserBaseInfoDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 攻略游记对象 bs_strategy
 *
 * @author ruoyi
 * @date 2023-11-25
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("bs_strategy")
@ApiModel(value = "企业实体")
public class BsStrategyExcel implements Serializable {

    private static final long serialVersionUID = 919538512722478117L;

    @ApiModelProperty(value = "id")
    @TableId(value = "id")
    @Excel(name = "序号")
    private Long id;

    @ApiModelProperty(value = "创建人信息")
    @TableField(exist = false)
    @Excels({
            @Excel(name = "发布人", targetAttr = "nickName", type = Excel.Type.EXPORT),
            @Excel(name = "账号", targetAttr = "phoneNumber", type = Excel.Type.EXPORT)
    })
    private UserBaseInfoDTO createUserInfo;

    @ApiModelProperty(value = "标题")
    @Excel(name = "标题")
    private String title;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @Excel(name = "发布时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "审核状态  0待审核 1已通过 2已驳回")
    @Excel(name = "审核状态", dictType = "audit_status")
    private String auditStatus;

    @ApiModelProperty(value = "审核人-姓名")
    @Excel(name = "审核人")
    private String auditBy;

    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

}
